perm filename BALZR2.IJC[ESS,JMC]1 blob
sn#025612 filedate 1973-02-15 generic text, type T, neo UTF8
pdq
HUMAN USE OF WORLD KNOWLEDGE
ISI/RR-73-7
ROBERT M. BALZER
USC INFORMATION SCIENCES INSTITUTE
4676 ADMIRALTY WAY
MARINA DEL REY, CALIFORNIA 90291
(213) 822-1511
FEBRUARY 1973
This research is supported by the Advanced Research Projects Agency
under Contract No. DAHC15 72 C 0308, ARPA Order No. 2223/1, Program
Code No. 3D30 and 3P10.
Views and conclusions contained in this study are the author's and
should not be interpreted as representing the official opinion or
policy of the University of Southern California or any other person or
agency connected with it.
Human Use of World Knowledge Page 2
Robert M. Balzer
HUMAN USE OF WORLD KNOWLEDGE
Human use of world knowledge is a concern of artificial
intelligence both as an estimator of the amount of world knowledge
required to solve particular problems and as a suggestor of techniques
of utilizing such world knowledge. However, since this topic is so
ill-defined, psychological experiments which deal at interesting
levels of complexity have been very hard to define. Therefore most
knowledge of this area is based on our own subjective intuitions.
While we are not psychologists, we would like to present three
experiments which deal with complex, real world type situations, and
which should shed some light on how humans use world knowledge in
complex situations. All of these experiments are based on a common
technique, which we feel, in the hands of professionals, offers a tool
for further investigation of the amount of world knowledge used by
human subjects and the mechanisms by which they process such world
knowledge.
We were drawn into a study of world knowledge by our
investigations into Automatic Programming. It is our view that one
important capability of such a system is the ability to acquire
knowledge about a new problem area, and to then bring this knowledge
to bear in following instructions while attaining goals specified by
the user in this problem area. It is our contention that only through
use of such "world knowledge" of the domain can the system
intelligently process the users requests, and move from what have been
essentially macro based languages to those that are essentially
Human Use of World Knowledge Page 3
Robert M. Balzer
context dependent. This movement represents, we feel, the next major
advance in programming systems.
In our report[1], to show the power of this approach we
hypothesized a worst case situation in which the user, while not being
evasive, only answered the systems requests for information. From an
initial statement by the user of his goal the system had to discover
the relationships between the objects of that world, construct a model
of that world from such relationships, and then utilize this model in
obtaining the users goal.
We include below this hypothetical dialog along with the
hypothetical reasoning that we would like such a system to employ.
Lines preceeded by a * are input from the user, lines preceeded
by a $ are responses from the system, and everything within square
brackets [] is an explanation of how the system is processing the
input and the inference it is making, thus, analysis will always
follow the input or response being analyzed.
* Lets build an Airline Reservation System.
[create a new model called 'Airline Reservation System']
$ OK, how?
* We want to be able to tell how many seats are free on each
flight.
[there exist a set of entities called 'flights'. One of the
attributes of flight is 'seat' and there are an unknown number
of seats per flight. One of the values of some attributes
of seat is 'free'. Goal of 'Airline Reservation System'
is to keep track of free seats on each flight. Because free
seats must be kept track of, there exists some operation or
operations which changes either the number of seats per flight
or the value of the unspecified attribute of seat to something
other than 'free'.]
Human Use of World Knowledge Page 4
Robert M. Balzer
$ Besides being free what else can seats be?
[since system must keep track of free seats it attempts to find
out what other 'types' of seats there are.]
* Reserved.
[seats can be either 'reserved' or 'free'.]
$ How many seats are on a flight?
[now that 'type' of seats are known, how many seats are there.]
* It depends on the type of airplane.
[there exists a set of entities called airplanes which have a type
and this type determines the number of seats on a flight. Hence
there is an association between an airplane and a flight.]
$ How are airplanes and flights related?
[ask user to state implied relationship.]
* A flight is the movement of an airplane from a departure point
to a destination.
[a flight consists of an airplane, a departure point, and a
destination. The action of a flight is to move its airplane
from its departure point to its destination. A flight does
not have seats as an attribute. An airplane has seats as an
attribute.]
$ How does the type of airplane determine the number of seats.
[find out relationship between type of airplane and number
of seats.]
* Lets worry about that later.
[mark this relationship for processing later.]
$ OK, how do free seats become reserved?
[find out what operations exist to change 'type' of seat.]
* A reservation for a seat on a flight changes a free seat to
reserved, and a cancellation changes a reserved seat to free.
[a reservation is an action which changes the 'type' of a seat
from free to reseved. A cancellation is an action which
changes the 'type' of a seat from reserved to free. Assume
that cancellation is also for a seat on a flight and that
therefore reservation and cancellation are inverse operations.
Assume that the changed seat is part of the airplane
associated with the specified flight.]
$ Is the altered seat part of the airplane associated with the
flight?
[test this assumption.]
* Yes, it is on the flight.
[seats are 'on' not 'part of' airplanes.]
$ How do reservations occur.
[is reservations an externally or internally controlled action
and what are its prerequisites?]
* Both reservations and cancellations are specified from a
terminal.
[one or more terminals will be connected to the resulting
system. Reservations and cancellations are externally controlled
actions initiated by some input from a terminal.]
$ What input initiates a reservation.
[what is form of reservation command.]
* 'reserve <flight> <date>' similarly for cancel.
[(Note: angle brackets are used to indicate something which
Human Use of World Knowledge Page 5
Robert M. Balzer
evolves to a specification of an object of the type named within
the angle brackets) A reserve or cancel command specifies
the flight on which a seat is to be reserved or cancelled and
a date.]
$ What is the function of the specified date?
[what is the relationship between reservation, flight, and date.]
* Flights occur periodically as specified in the airline schedule
and date is used to specify a particular one.
[there exists an airline schedule which specifies when flights
occur either with respect to some specified date or to some
periodicity. To specify a particular flight the flight
specification must also be accompanied by a date.]
* OK, let's test the system.
[model is not complete. We can't simulate it yet.]
$ Wait a minute. First, how is the type of airplane on a flight
determined?
[we need to know type of airplane for each flight, the airline
schedule, and initial 'type' of seats on a flight.]
* It is specified in the Airline Schedule which is in file
Airline.Schedule.
[Airline Schedule specifies type of airplane on a flight.
Airline Schedule is in file Airline.Schedule.]
$ Are seats initially free or reserved?
* Free.
[seats on a flight are initially free.]
$ OK, let's simulate system.
In condensed form, the model consists of the following
information:
1. Goal is to keep track of free seats on each flight.
2. A flight is the movement of an airplane from a source
point to a destination.
3. The type of the airplane determines the number of seats
on the flight.
4. Seats are either free or reserved, and initially they are
all free.
5. Reservation and cancellation are actions, specified
from a terminal which change the status of one seat from
free to reserved or reserved to free, respectively.
6. The flight and type of airplane used on the flights are
specified in an Airline Schedule.
Several people who were shown this dialog were unconvinced about
its feasibility. They felt it only worked because the system always
asked the right question and because it made the right inferences from
the replies given. Both these activities, they felt, depended upon a
very large, and unstated, body of world knowledge. Thus,
Human Use of World Knowledge Page 6
Robert M. Balzer
implementation of such a system would be infeasible.
In an effort to dispell this criticism we were forced to devise
an experiment which would support our contention that only very
limited use of world knowledge was necessary to support such a dialog.
Such an experiment requires the ability to cut off, or limit, the
interactions between the new area being explained to the system and
the body of world knowledge that might be brought to bear on
understanding such a new environment. We feel that this could be most
effectively done by translating each of the content words of the new
domain into a nonsense word, and presenting the information as a
mixture of normal English with the translated nonsense words appearing
wherever one of the content words of the domain would have been used.
We ran this experiment with four subjects, each of whom was a
programmer. We asked them to solve the problem under the same ground
rules as above, namely, they had to ask questions to gain information
from the user who understood the domain. One protocol from this
experiment is given in Appendix I, the others are available upon
request.
Each subject was able to solve the problem in about a half hour,
although none was able to relate the solved problem to any real world
situation. The scenario generally followed the above hypothetical
discourse which was generated prior to the experiment. All of the
subjects experienced difficclty with the use of the word 'flight' to
represent a set of flights which had to be disambiguated with a date
to specify a particclar one. Some of the subjects also experienced
Human Use of World Knowledge Page 7
Robert M. Balzer
difficulty in realizing: that seats were indistinguishable; that the
domain had no way of getting to a particular one; and that if they
wanted to do so, they had to construct an internal data structure
themselves.
We feel that this limited experiment demonstrates that people can
acquire new knowledge in a formal (by formal we mean symbolic
linguistic based knowledge rather than experience based) way without a
strong semantic understanding of the domain.
However, this experiment dealt only with a very well thought out
problem and contained just 11 content words which had to be
translated. We wanted to also investigate whether the same techniques
were applicable to real descriptions of how to do something or the way
something worked. We therefore ran two other experiments with the
same basic philosophy of substituting nonsense words for the content
words of the domain but both of which dealt with descrrptions that
were randomly selected from books.
The second experiment involved a single subject (the author) and
was non-interactive, consisting only of the translated description
taken from a book. This problem was much more complex than the
orignal one, involving 86 translated words. It, and the subject's
solution are presented below as a series of line triples. In each
triple the top line represents the orignal untranslated text of the
problem. The middle line represents the text as given to the subject,
and the bottom line represents the subject's solution to the problem.
These triples are followed by the subject's written protocol which he
Human Use of World Knowledge Page 8
Robert M. Balzer
used to solve the problem. The numbers following each component of
that protocol represent the line of the text from which the
information was found that helped generate that component.
(2) When the chain attached to the lever of the flushing cistern is
pottle sprocked framper lorching lank
--- connected --- --- ---
(3) pulled ( Fig. 2 ), the hollow iron bell-shaped unit rises and
flumed zif lug rampled lorks
pulled --- --- --- ---
(4) opens the passage to the flush pipe. As soon as water flows down
rundles trank lorch mit krumper lud glimp
opens --- --- pipe water flows down
(5) this pipe, a vacuum is formed in the cavity of the bell and causes
mit luff stiffled grindle dorf
pipe --- formed --- ---
(6) more water to flow from the cistern through the bell and down the
krumper lud lank dorf glimp
water flow tank --- down
(7) pipe. The cavity inside the bell thus acts as a siphon ( Fig. 1 ).
mit grindle grobble dorf yams zog
pipe --- within --- acts ---
(8) When a vacuum is formed at C ( by initially applied suction ),
luff stiffled brobed leepion
--- formed --- ---
(9) water is drawn through the siphon tube. Once the flow has been
Human Use of World Knowledge Page 9
Robert M. Balzer
krump flitz zog plutz lud
water --- --- --- flow
(10) started, it will continue. For the siphon to function, its outlet
foped nud zog orkion frob
started continue --- function ---
(11) must always be below the level of the water in the tank. When the
gronk tove krumper mung
above or below level water container
(12) chain of the water closet has been briefly pulled and released,
the
pottle krumper frotz flumed regritched
--- water --- pulled released
(13) bell falls back into position over the inlet of the flush pipe,
dorf zorchs bart bletchion blutz lorch mit
--- moves --- position mouth --- pipe
(14) but the flow of water down the pipe continues - thanks to the
siphon
lud krumper glimp mit nuds
zog
flow water down pipe continues
---
(15) effect - until the cistern has been drained. As the water level
lerp lank zonked krumper tove
--- tank emptied water level
(16) in the cistern goes down, the float descends and opens the water
lank glimp blib yads rundles krumper
Human Use of World Knowledge Page 10
Robert M. Balzer
tank down float falls opens water
(17) supply valve, so that the cistern fills up again. When the float
drortly cavem lank tuboats blib
--- valve tank fills float
(18) has risen to a certain level, the inflowing water is cut off by
the
rankle tove wipsening krumper rosehart
risen level rising water shut
(19) valve. The capacity of the flushing cistern is usually 2 gallons.
cavem begipt lorching lank panzers
valve capacity --- tank gallons
(29) Fig. 3 illustrates another type of cistern. When the rod is
omps arg lank leffer
shows type tank ---
(21) briefly pulled up and then released, the water here, too,
continues
flumed regritched krumper nuds
pulled released water
continues
(22) to flow until the cistern is drained. The rod is provided with a
lud lank zonked leffer roppled
flow tank emptied --- ---
(23) freely movable float which is prevented from floating to the
surface
grotly metz blib whatsised blibing funk
--- --- float prevented floating surface
Human Use of World Knowledge Page 11
Robert M. Balzer
(24) of the water by two stops on the pull rod. When the rod is raised
krumper zaps flum leffer leffer plated
water pins pull --- --- ---
(25) and the inlet of the flush pipe is opened, the closing pressure
which
blutz lorch mit rundled fluding cropper
mouth --- pipe opened --- ---
(26) is developed by the water column in the full tank is reduced. The
muffered krumper frag mung reganded
--- water left container ---
(27) buoyancy of the float predominates and keeps the pipe inlet open.
drode blib goths lotsos mit blutz rundle
--- float --- keeps pipe mouth open
(28) Then the rod descends and the rubber valve disc is thrust against
leffer yads frerker cavem stremple ellis
--- falls --- valve --- held
(29) its seat by the inflowing water.
gnagy wipsening krumper
limit rising water
(30) In some systems the flush pipe is connected to the water supply
rops lorch mit floppered krumper drort
models --- pipe --- water ---
(31) through a lever-operated ( Fig. 4 ) or a pushbutton operated
blitzened gipe wuffled
--- --- ---
(32) valve ( Fig. 5 ). In the former the flushing operation is
Human Use of World Knowledge Page 12
Robert M. Balzer
cavem stiffler lorching wuffleion
valve former --- ---
(33) initiated and terminated by hydraulic pressure equalisation which
gibed roged marg cropper gropion
--- --- --- --- ---
(34) is effected by the composite valve system. In the pushbutton
lerped zilla cavem rop gipe
--- --- valve model ---
(35) type, actuation of the pushbutton initiates the flow, which is
arg bisbey gipe lud
type --- --- flow
(36) subsequently likewise cut off by pressure equalisation and spring
rosehart cropper gropion
donnering
shut --- --- ---
(37) action.
yamion
action
(IO flum <pottle>)2 (sprock pottle framp)2
(of framp lank)2 (AVO lorch land)2
(AVO lorch wuffle)34 (AVO lorch mit)32
(AVO zif unit) (AVO lug unit)3
(AVO rample unit)3 (IO lork unit)3
(rundle unit trank mit)4 (AVO glimp lank)16
(nondiscrete krumper)6 (eq lud flow)6
(eq yam act)7 (encloses dorf krumper)6
Human Use of World Knowledge Page 13
Robert M. Balzer
(containedin krumper lank)6 (eq tuboats (one of rises fills))17
(rundle blib krumper ?)16 (rundle ? blutz ?)26
(eq rosehart shut)18 (of tove krumper)11
(IO lud krumper)4 (AVO glimp krumper)4
(set mit)5 (IO stiffle luff)5
(of grindle dorf)5 (IO fop lud)9
(IO nud lud)10 (IA glimp mit)6
(eq grobble within)7 (yam grindle zog)7
(IO flutz krumper)9 (of plutz zog)9
(through plutz krumper)9 (when (fop lud)(nud lud))10
(IO ork zog)10 (of frob zog)10
(type gronk position)11 (container mung krumper)11
(of frotz krumper)12 (of pottle frotz)12
(IO pottle gritch)12 (of blutz mit)13
(eq bletch position)13 (eq zorch move)13
(eq ork function)10 (eq tove (one of level temperature))18
(eq gronk (one of above below)11 (eq omp show)21
(eq arg type)21 (eq nud continue)10,14
(eq blutz mouth)13 (eq zork fill)15
(eq glimp down)16 (eq rosehart (one of closed shut))18
(eq rankle risen)18 (eq wipsen(one of rising entering))18
(eq blib float)18 (eq cavem valve)18
(eq yad(one of falls descends))16 (eq rundle opens)16
(like leffer pottle)22,12 (eq whatsis(one of stop prevent))24
(of yaps leffer)25 (eq funk(one of top surface))24
(eq ellis held)9 (eq frag left)27
Human Use of World Knowledge Page 14
Robert M. Balzer
(eq rop model)32 (eq stiffle form)34
(type begipt measure)19 (unit panzer begipt)19
(eq lotso keep)29 (eq sprock (one of attach connect))2
(type flum move)3 (opposite flum gritch)12
(eq fop start)10 (type zog valve)5-7
Human Use of World Knowledge Page 15
Robert M. Balzer
Attributes and Relations
x is an operation on y (IO x y)
x is a relation between y and z (x y z)
x is a part of y (IPO x y)
x is an attribute value of y (AVO x y)
x is non-discrete (nondiscrete x)
x is associated with y (IA x y)
x is an attribute of y (Atr x y)
x modifies y (Mod x y)
This experiment was only partially successful, for, rather than
solving this problem by creating a formal model of the interactions
between the components of the domain, the subject performed a type of
crypto-analysis and attempted to decode the problem into terms that he
understood. He thus brought to bear very large amounts of world
knowledge in decoding particular passages of this text. As an
example, consider the passage which was the key to decoding this
problem, it is "and causes more krumper to lud from the lank through
the dorf..." (from lines 5 through 6). The subject noticed in this
passage that krumper was not pluralized, hence, he drew the conclusion
that krumper was a mass noun, that is, something which is considered
as a whole bunch of things without considering the individual
elements. Examples of such mass nouns are sugar or flour. The next
part of the passage says to lud from someplace through something.
Thus, lud is some type of a movement verb. From our knowledge of
Human Use of World Knowledge Page 16
Robert M. Balzer
English, its vocabulary, and how mass nouns move, we know that lud is
probably either pour or flow. The subject was thus utilizing all the
world knowledge at hand to find out some properties about the objects
beeng discussed, and then fitting those into the set of known
possibilities for such properties.
Analysis of the protocol by the subject himself has however
yielded a set of rules which we hope will begin to deffne the way such
formal models are built up and knowledge is extracted from such
passages.
In an attempt to overcome the decoding process which was engaged
in in the second experiment, and to make more accessible the reasoning
processes which were being used by the subject, we devised a third
experiment. This again consisted of a non-interactive experiment in
which the subject was presented with a description of how to do
something, or the way something worked, taken from a book after the
content words had been translated. We made two significant changes in
this experiment. First, the sentences were presented to the subject,
one at a time. A protocol was taken on each sentence so that the
subject was forced to focus on that particular sentence and extract
all the information he could from it. Secondly, instead of a single
subject we had a group of subjects sitting around a table and
conversing with one another about the conclusions they were reaching
and the evidence being extracted from the problem. The subjects were
explicitly told not to attempt to decode the problem, but rather, to
build a model which represented the interacttons between the objects
Human Use of World Knowledge Page 17
Robert M. Balzer
being described.
The original and presented versions of the problem are given
below and a protocol of the first few sentences appear in Appendix II.
(0) sooner or later everyone runs across the problem of fastening
pottling[nil]
(1) something to a wall inside the house. though the first impulse
may
sprock[NIL] lorch[NIL]
(2) be simply to drive a nail into the wall, this seldom proves a
lank[NIL] flum[NIL] sprock[(1)]
(3) satisfactory solution. since interior walls are usually hollow,
zif[NIL] sprocks[(2)] lug[NIL]
the (4) nail merely breaks through into empty space - leaving you
with
flum[(2)] ramples[NIL] lork[NIL] rundle[NIL]
(5) little more than some cracked plaster and a useless hole for your
tranked[NIL] miter[NIL] krump[NIL]
(6) trouble.
(7) to provide a more satisfactory solution to this problem, there
(8) are many special wall fasteners that can be used. regardless of
sprock[(3)] pottlers[(0)]
(9) the size or weight of the fixture being hung, chances are there
luff[NIL] stiffle[NIL] grindle[NIL] foped[NIL]
(10) is a fastener available which will do the job. the load
pottler[(8)] grobble[NIL]
(11) that can be supported is limited only by the strength
yamed[NIL] zoged[NIL] brob[NIL]
(12) of the wall material itself.
sprock[(8)] leep[NIL]
(13) for light - duty jobs, such as hanging small pictures and
flitz[NIL] plutz[NIL] foping [(9)] nuds[NIL]
(14) decorative plates, there are hangers available which can be
ork[NIL] frobs[NIL] fopers[(13)]
(15) cemented in place against the wall. some of these come with
gronked[NIL] sprock[(12)]
(16) a separate liquid adhesive, while others are adhesive -
mung[NIL] frotz[NIL] frotz[(16)]
(17) backed. since this type of device sticks to the surface only
gritched[NIL] bart[NIL] bletchs[NIL]
(18) it is limited by the strength of the surface coating which
zoged[(11)] brob[(11)] blutz[(17)] lerping[NIL]
(19) is already in place on the wall.
sprock[(15)]
Human Use of World Knowledge Page 18
Robert M. Balzer
We learned three things from this experiment. First, that the
subjects placed very heavy emphasis on the use of function words and
utilized them to ascribe a relationship between unknown objects in the
domain. Thus, awareness about the domain was largely built up from
knowledge about the function words. Such knowledge represents a
fairly well-defined and limited body of knowledge, and should be
amenable to incorporation in a mechanized system.
Second, that although the subjects were instructed not to decode
the problem, as they were attempting to use the function words to
relate the objects in the domain, they constantly worked back to known
real world situations that were a possible explanation of the given
situation. That is, the subjects seem always to search through their
experience, for an instance of a situation which could be described in
terms of the particular interpretation that was beeng placed on the
sentence. Through such a mechanism they decided that their
interpretation of the relationship between translated words was
plausible. These instances did not remain consistent from sentence to
sentence and so did not appear to be important in understanding the
situation, but were constantly being used to test the local
plausibility of the interpretation of the passage.
The third thing that we learned was that the subjects are able to
pick up the writer's style and use this: to determine where to look
for information, to relate sentence with each other; and to develop a
general flow of the explanation. All of this, apparently, before much
understanding of the domain has been acquired by the subjects.
Human Use of World Knowledge Page 19
Robert M. Balzer
Finally, one very surprising thing happened. Two of the five
subjects could identify the problem domain after only a single
sentence had been presented. The sentence "Sooner or later everyone
runs across the problem of pottling something to a sprock inside the
lorch." contains almost no content, yet it seems to set the stage for
the subjects and give them a good feeling of the type of problem to be
discussed. It demonstrates how incredible quickly people are abble to
lock on to and utilize stage setting information to establish context.
In conclusion then these experments seem to indicate the
following:
1. That subjects are able to acquire knowledge about a domain
described in unfamiliar terms;
2. That the use of function words in such descriptions is very
important to the understanding process;
3. That some portion of such acquisition seems to be mechanizable
through a set of rules;
4. That subjects utilize world knowledge extensively to test local
plausibility of interpretations; and,
5. That style is an important aspect of a description which enables
subjects to determine what are the important sections and how
a description flows from one sentence to the next.
Human Use of World Knowledge Page 20
Robert M. Balzer
EXAMPLE PROTOCOL
We reproduce below in its entirety, the protocol of one subject
in our experiment to test the feasibility of domain independent
problem acquisition and solution. The protocol is followed by the
dictionary of domain dependent words and the corresponding nonsense
words.
The goal of this experiment is for you to design an
implementation of a model that I am going to describe to you. I am
going to describe a goal and it is going to be a simple statement of
what it is you are supposed to accomplish. Now after that, it is
expected that you are going to be the active element in the discourse,
so that you will ask me for any information that you need to carry out
the goal and I will give you that information. I am not going to
spontaneously give you information. You have to ask for whatever you
need. OK? What we have done is purposely express this model in terms
of some nonsense words so that you cannot relate it to anything you
know about. We are recording this so it would help if you do your
thinking out loud. OK - the goal is to build a frobnication system
and what we're supposed to do is to keep track of the number of
gronked frobs on each tove.
Q. On each tove?
A. Tove - t o v e.
Q. OK - that's it. How do frobs get gronked?
A. There's an operation called frynation which changes the
status of a frob which is not gronked to gronked.
Q. How are frobs created?
A. Frobs are neither created or destroyed - they are part of
a frotz.
Q. OK - are many frotz part of a tove?
A. No. Associated with each tove there is a type of frotz.
Q. So each tove represents a frotz and a frotz is made up of
many frobs. Why are frobs frynated? Does a frynation of
a frob make it a gronked frob?
A. Right. That's part of the operation of this system.
Q. Is the number of toves static?
A. Yes, it's specified in the bletch.
Q. A bletch is...
A. A bletch is a table that is part of the input to the system.
You can look up in the bletch how many toves there are.
Q. OK - so the bletch is the initialization, basically.
A. Yes.
Q. OK - I've bletched and now have a given number of toves
which are all made up of frotz and those frotz contain
frobs.
A. Each tove may have a different frotz.
Q. Right, certainly - and how are the frotz specified.
A. That's also part of the bletch.
Q. Are frotz all specified initially during the bletch to be
ungronked frobs?
Human Use of World Knowledge Page 21
Robert M. Balzer
A. Each frob on a frotz is initially gronked.
Q. Is initially gronked...how do you ungronk a frob?
A. There's an operation called mungnation and a mungnation
of a frob changes the status from gronked to munged.
Q. Is a munged frob the same as an ungronked frob?
A. Yes.
Q. Under what circumstances will mungnation occur in the
frob.
A. Both mungnation and frynation are specified from one of
a set of terminals.
Q. OK - do you want a constantly running number of the number
of gronked frobs?
A. At any point I wish to be able to query and find out how
many gronked frobs there are on a tove.
Q. On a particular tove?
A. Yes.
Q. How does one specify a tove?
A. A tove is specified by both a tove name and a bart.
Q. A bart is...
A. A bart is an atomic thing.
Q. A bart is a frob.
A. A bart is something that is used. A tove by itself specifies
a set of toves, actually - a tove name by itself specifies a
set of toves - to pick out a particular one you have to specify
also a bart so a combination of a tove and a bart gives you a
particular tove.
Q. OK. Is the tove in a bart in a bart a reasonable access
path?
A. A tove and a bart and a bart?
Q. Namely, how many levels of tove are there - by what you
just said there appear to be two levels of toves. There's
a tove - you access by saying a tove in a bart.
A. I'm a computer user - I don't understand computer terms.
I don't know what access means.
Q. OK - to get to a frob what maximum amounts of information
are you willing to give me to get to this frob.
A. I don't understand the word 'information' either.
Q. A tove and a bart is a tove.
A. A tove name with a bart specifies a particular tove.
Q. ..and do you want to specify a frob which is part of that
tove?
A. The bletch specifies the type of frotz associated with the
tove.
Q. Frotz..
A. And the bletch also contains the number of frobs for each
type of frotz.
Q. Can we go over what's a frotz again? A frotz is a
collection of frobs?
A. Yes - a frotz is associated with the tove and each tove has
associated with it a type of frotz, and that's the same for
all toves without specifying a bart. In other words, if
you just give a tove name that specifies a set of toves
which are identified by their barts but all of those toves
Human Use of World Knowledge Page 22
Robert M. Balzer
have the same frotz. To completely specify a tove you need
both the tove name and a bart, but all the things with the
same tove name independent of the bart have the same frotz.
Q. All the things with the same tove name have the same type
of frotz.
A. Yes.
Q. Independent of what?
A. Bart.
Q. A tove name followed by a bart leads to a tove.
A. Right.
Q. And that tove - let's talk about that specific tove - tove
name followed by the bart - that tove is made up of a frotz.
A. Right.
Q. And that frotz is made up by several different frobs.
A. A number of frobs.
Q. Number - specified during the bletch?
A. Right.
Q. Now is a tove name followed by a bart followed by something
specification of a particular frob?
A. No - all we know about frobs is the number of them on
each frotz.
Q. OK - if I wanted to frynate a frob the way I name
that frob is by a tove name followed by a bart.
A. Right.
Q. ...followed by what?
A. Followed by nothing. A frynation just says do it to one
of the frobs on that particular tove-bart combination.
Q. And I assume mungnation is the same phenomena in the
opposite direction.
A. Right.
Q. Why are you making a distinction about different types
of frotz? For what?
A. Each different type of frotz has a different number of
frobs.
Q. So one type of frotz has always a specified number of frobs.
A. Right. And that number is given in the bletch.
Q. Is the bart also a tove name?
A. No - the bart is used to disambiguate a tove name.
Q. In what sense?
A. A tove name by itself gives a set of things which have that
tove name. Each of those has a different bart and so by
specifying both the tove name and bart you get a particular
one.
Q. So the tove name is really a name of a type of the frotz.
A. No. Things with different tove names may have the same
frotz - that may have different ones - but everything with
the same tove name has the same frotz.
Q. Everything with the same tove name has the same type of
frotz.
A. Right.
Q. ...so any tove name followed by a specific tove name
followed by any bart will lead me to a frotz with the same
number of frobs on it.
Human Use of World Knowledge Page 23
Robert M. Balzer
A. Yes.
Q. OK - let me try to clarify this situation. During the
bletch a number of tove names are specified. Those tove names
...are the barts also specified during the bletch?
A. The bletch specifies the - for each tove name it specifies
periodicity.
Q. I don't know what that means.
A. It's a rate at which those toves reoccur. Every so often
this tove will reoccur - OK - and the bart is a way of
picking out which one of those you want to talk about - like
the first one or the second one or whichever...so that it's
in the bletch there is a rate of repetition of that tove.
Q. So a tove name is specified for the rate of repetition.
A. Right. And the bart is used to distinguish which of that
set - that generated set - you want to talk about.
Q. Right - and also associated with the tove name is the type
of frob.
A. Right.
Q. ...and I have n terminals typing in mungnations and frynations
into this system.
A. Right.
Q. ...and at some point you want to find out the number of frobs..
A. ..on a particular tove. There's a command that says..
Q. ...number...
A. Whatever...
Q. This is probably not a legitimate question...so a tove name a
tove of a particular type - a tove name is an ordered list
of a s+t of frobs.
A. A set?
Q. I know - OK - now, I'm supposed to be doing something right -
I'm supposed...
A. You're supposed to be building a system which will operate
in this environment and allow me to ask at any point in time
what the number of gronked frobs is on a particular tove-bart
combination.
Q. OK - and how do you want me to specify it/
A. I want a number to come out.
Q. So now we're going to play the game - in some sense..
A. No, you're going to build a program. The object is for you
to build up enough of an understanding of what's going on here
so that you can describe a program which will successfully
do - which will achieve the goal.
Q. So I'll say - tell you what the program is.
A. Right.
Q. Now let me try to get it all straight before I start telling
you what the program looks like. OK. You specified to me
during the bletch the tove name - a set of tove names - no, a
list of tove names. Associated with each tove name is the
number of barts each tove name will have - a period of it's...
A. OK.
Q. ...and each of those tove name-bart pairs will hne kind
of a frob - for a particular tove name and that frob is made
up of a specified number of frobs which are all gronked,
Human Use of World Knowledge Page 24
Robert M. Balzer
initially and -- is that all you're specifying in the bletch?
Is that all the information you're giving me in the bletch?
A. No - the bletch also has for each tove a gritch and a zorch.
Q. Which are... a gritch..
A. Alright - well a tove is the movement of a frotz from a
gritch to a zorch on a bart.
Q. ???
A. A tove is the movement of a frotz...
Q. Now wait, a tove..
A. ...a tove is the movement of a frotz from a gritch to a zorch
on a bart.
Q. A tove is the movement of a frotz from a gritch to a zorch
on a bart. A gritch - is a gritch made up of a set of tove
names?
A. No. A gritch is a location.
Q. A gritch is a place?
A. Yes.
Q. ...and a zorch is a place?
A. Yes.
Q. ...on a particular bart.
A. Yes. A bart is a unit of time.
Q. And how do I move a frotz from a gritch to a zorch.
A. That's the definition of a tove and the toves are specified
in the bletch.
Q. ..in a bletch is a tove name. Right?
A. Yes.
Q. ...and the rate of repetition?
A. Right. The rate of repetition is in terms of the bart.
Q. That's right. Does the rate of repetition specify when a
frob moves from a gritch to a zorch.
A. Yes.
Q. Does the change of a frotz from a gritch to a zorch occur
automatically? As a function of time?
A. Yes - that's part of the operation of a tove.
Q. Part of the function of a tove?
A. Yeah.
Q. Is there...how many frotz of a particular tove name can be
gritched at one time and zorched at one time.
A. At a particular time a tove occurs - OK - and that tove
is the movement of its associated frotz - the frotz associated
with that tove - from the gritch location to the zorch
location.
Q. ...on a frotz of a particular tove name.
A. No, no, no - this is for the tove - this is for the frotz this
is for a tove-bart pair - it's a particular tove that
moves from a gritch to a zorch and it occurs when the bart
happens at some point in time.
Q. ...when the bart happens..
A. The bart is a time specification.
Q. Right. So every tove occurance - tove name or pair gets
switched from being gritched to zorched. Are they every
switched from being zorched to gritched?
A. No.
Human Use of World Knowledge Page 25
Robert M. Balzer
Q. Can I frynate a zorched frynation?
A. Frynation and mungnation have nothing to do with gritching
or zorching.
Q. Then the number of gronked frobs is independent of whether
they're gritched or zorched.
A. Yes.
Q. Then I don't care whethings are gritched or zorched.
A. I don't understand.
Q. The goal of...the goal of the system is independent..
A. You can't ask me to solve your problem.
Q. OK.
A. What you care about and what you don't care about is something
that's internal to the system.
Q. Right. But I can do frynations and mungnations on gritched
or zorched tove name pairs.
A. Actually, mungnations and frynations can only occur before
the movement of the frotz from the gritch to the zorch.
Q. So once a frob is zorched then I cannot do the frynation
on the frob in that frotz.
A. That's right...or a mungnation.
Q. And there's no way for a zorched frob to become a gritched
frob.
A. That's right.
Q. But until its zorched any terminal can do a mungnation or
frynation on a frob in that frotz.
A. Right.
Q. So during the bletch you will give me tove names, specified
frotz for those tove names, the rate of repetition, which is
going to be given to me..
A. ...from the bletch.
Q. In what form are you going...
A. It's in a form that's readable.
Q. OK. I have the tove name, type of frotz that the tove
name's going to have, the rate of repetition of that tove name,
and whenever a repetition occurs a gritched frob becomes a
zorched frob.
A. Yes.
Q. And so after a certain bart of time I can no longer frynate
or mungnate a tove with a bart number less than the current
bart.
A. That's right.
Q. So in a particular bart an instance of a particular tove
becomes gritched to zorched and any time before that bart I
can do a frynation or a mungnation on a tove name-bart previous
to the bart.
A. Yes.
Q. What happens to a tove name-bart after its zorched. Is there
any information you have or want to read?
A. No.
Q. During the bletch you're giving me several instances, you're
creating an extensiation of tove names - so I have tove names
in some sense sub-1, 2, 3, 4.
A. Yes.
Human Use of World Knowledge Page 26
Robert M. Balzer
Q. Except those subscripts are time subscripts and I have a
clock going at some rate.
A. Right.
Q. ...and I'm reading off of terminals people typing in frynations
and mungnations.
A. Yes.
Q. Tove names by pairs and we're talking about tove names followed
by the subscript.
A. Right.
Q. Every time the clock ticks I throw away a tove name-bart
pair which is the tove of a particular bart of time.
A. There may be some clock ticks that don't have a corresponding
tove and bart.
Q. Certainly. The subscript is really like maybe one - five ten -
fifteen and I have to write to the fifteenth clock
tick to write out one tove-bart pair.
A. Fine.
Q. And whenever you ask me about a tove-bart pair it has to occur
before that - you have to ask me before the bart has clicked
over to that number and if it has then I can go through and
count up the ones that you want - not changed to be among the
frobs and that's a set.
A. How do you do this? What I asked you about the number of
gronked frobs. how do you answer that question?
Q. How do I answer that question? With a number.
A. How do you get the number.
Q. All the frobs are initially gronked and you can change them
by mungnating them and you have a number which is set during
the bletch..
A. Who has the number.
Q. Each tove name-bart pair has an associated number and if you
do a mungnation on it I subtract one and if you do a frynation
on it I add one, checking to see if it's not over the number
that you've already done.
A. OK.
Q. Not over the specified number in the frob.
A. OK.
Q. And I'll give you that number whenever you ask for it by
giving me the tove name-bart pair. Is that it?
A. OK, now I have a modification that I'd like to make
to the model and that is that only a person who has done a
mungnation which has not previously been frynated can frynate.
Q. Only the person who has done ...only a terminal..
A. No, only a person.
Q. Who has done a mungnation on a particular tove-bart..
A. ...can do a frynation on that tove-bart. OK, and he can
only do it if he has not already done a frynation on that
tove-bart.
Q. He cannot do it unless he's already done a frynation?
A. He cannot do a frynation unless you have done a mungnation.
Q. One particular person - got to have n users on this system.
A. Yes.
Q. Can it be assumed that the person is a terminal?
Human Use of World Knowledge Page 27
Robert M. Balzer
A. No.
Q. Can the particular person, if he does a mungnation on a
particular tove name-bart, can he do any number of frynations?
One for every corresponding mungnation?
A. That's right.
Q. OK - for the user - and you know who is at a terminal at
a particular time - the system will give you that information.
I keep his name in a record and associated with that name is
the tove name-bart pairs that he has manipulated by doing
mungnations. If he tried to do a frynation on the tove name
bart that is not in the list then I won't let him do it and
the only way a tove name-bart can be entered in that list
associated with his name is by doing a mungnation and every
time he does a frynation legitimate tove name-bart
that means it's in the list - I take it out of the list.
A. Fine.
DOMAIN DEPENDENT DICTIONARY
Airline Reservation System - Frobnication System
Seats - Frobs
Free - Gronked
Flight - Tove
Reserved - Munged
Airplane - Frotz
Departure point - Gritch
Destination point - Zorch
Reservation - Mungnation
Cancellation - Frynation
Reserve - Mung
Cancel - Fry
Date - Bart
Airline schedule - Bletch
Human Use of World Knowledge Page 28
Robert M. Balzer
APPENDIX II
Protocol of Experiment No. 3
Sooner or later everyone runs across the problem of pottling something
to a sprock inside the lorch.
: There is a great deal of context in that..
: Well, lets see. Suppose we know that lorches are different
from sprocks because...
: ..because sprock is inside the lorch.
: Well, it could stick out..it could be an appendage to something
that is tightly locked or pottled and like sticks out. I'm
getting visions of things. It sure is wild.
: Well, I don't know if this is a valid thing to say but since
everybody runs across the problem it can't be too highly
mechanical a problem.
: A lorch could be some kind of a container or it also could be
some kind of mechanism of which a sprock is a part.
Even if the thing was a mechanism isn't that a kind of container?
: Well, I was thinking of something inside like an automobile
engine. I don't consider an automobile engine a container but
you could do something to a something inside the engine.
The engine is a container.
That's not its primary use..
: Alright..
But it seems to me that the word 'inside' only means container.
: OK. The word 'the' really strikes me as funny...
How's that?
: As inside 'the' lorch. The first sentence says this is really
the context. This is a sentence out of the middle of a logical
paragraph - it wasn't the first thing that was ever said in the
book.
: Although a smart robot mechanism might take this sentence to
mean 'the lorch' which means that every person or every family
or every organization of some type has a lorch.
: Within the law. Inside the law.
: Well, customarily, like you might say...do you talk about doing
something to the car and the context there is that customarily
every family has 'the' car or several 'the' cars.
: Or every once in a while you get stuck with the job of vacuuming
around the house.
: You have to strain to think that 'the' is really part of the
introductory sentence.
: Well, pottling seems to be fitting. If you pottle something
to a something. There is a contact. It means making contact
with a community.
: But pottling is also probably not a specific. A very task
specific kind of word (verb).
: ...because apparently there are many things that can be pottled
to sprocks.
: That's right...the problem is when its inside the lorch.
: I'd like to know whether a sprock is a part of a lorch or a
Human Use of World Knowledge Page 29
Robert M. Balzer
sprock is a thing that's inside a lorch.
: ...whether a lorch is a container in which you do this pottling
or whether you are actually pottling the sprock.
: ...every lorch is sprocked or has somm sprocks.
I think its best at this point to just recognize that is something
we want more information about and see if the information comes in
the following text.
: ...it says 'a sprock'...there are probably several sprocks..
: ...there are probably inside and outside sprocks..
: ..that could be..its a possibility...
: Well, what's the problem. Is the problem pottling or is the
problem because its inside.
: I think the inside is ambiguous.
: In what way?
* In the fact that we brought out -- that the sprock could be
attached to the inside of the lorch and that you have to pottle
something onto it, or that the lorch is a container in which
you do the pottling..
: Are there any other alternatives?
: Let me see..
: A sprock seems to be an object. It could be a human, but I doubt
it.
: We ought to number these sentences...
: Let's call this one 1.
: Yeah, I think we should number the sentences so we can refer
back. Let me summarize my knowledge to this point: lorches
are either contained or have as constituents some sprocks.
: That's much better than mine -- sprocks - less than or equal to
lorch; lorch - container/mechanism; pottle - contact or
communication..I have inside and outside sprocks.
: Also, probably many things can be pottled.
: If we've already guessed it we have to keep quiet.
: If you already guessed it?
: I'm ready for another sentence.
Though the first impulse may be simply to lank a flum into the
sprock, this seldom proves a satisfactory solution.
: I think we have somewhat of a definition of pottling. To
pottle - to land a flum - seems to be one of the ways to
pottle.
: No - to lank a flum into is a way to pottle to.
: That's right. I guess if you lank the flum into the sprock that
would be the same as pottling. That would define pottling
something to the sprock.
: Its an instance. That's right. But evidently there are more.
: Is the flum something in the previous sentence.
: I think so...
: It may not be. I mean it may..
: Maybe this is something you have to do before you can pottle
something on it you have to clear the sprock.
: Right. So a flum is just an attaccment that will enable
something to be pottled.
: ...pottles onto it.
: On the other hand a flum might be for you to pottle it.
Human Use of World Knowledge Page 30
Robert M. Balzer
: Or it might be that. And the lank would be actually an
instance of pottling.
: On the other hand, if the flum were a thing you were pottling
to the sprock then they would have probably said that you pottle
a flum to a sprock, not pottle something.
: Maybe pottling a flum is incorrect usage of flum. Maybe you
would never say pottling from the end of the Penn Central.
: Lanking sounds not too good -- lanking sounds like it just
talks of it. I would say lanking is like tosssng. Lanking
is not a thorough job. Or else a flum sounded very good when
you do it.
: Well, maybe lanking a flum is a good way of doing some things
but its not as good as pottling to a sprock. It might even be
a good way of pottling to something else.
: It could be that it lengthened a flum that isn't very good.
: Or maybe lengthening is fine ids the flum..
: There are lots of instances where one method of attachment
is good for one thing but isn't good enough for another
thing. Does it involve some kind of linking of something.
: Either linking or...
: ...including..
: Well whatever it is lanking a flum.. or a flum doesn't do it.
I'm not sure whether its the flum or the lanking - the flum
or the lank.
: You can do something else to a flum.
: Or just lanking it once you are inside the sprock or into
the sprock...somewhere in that combination is.. I would bet
that its because ids inside that there's a problem.
: Are you doing all this inside the lorch.
: ...maybe you can lank a flum..
: Well, there's still, I guess, one ...almost four ambiguous
possibilities whether you can..
I haven't counted, but it sounds to me like you're talking
about many more than that.
: Well, the main situation is that either to lank could be -- well,
not counting all the possibilities - the simple possibility
that lanking is what causes the problem or that flum is the
problem - or that you can't lank a flum...
: Or that the problem ic that you are undecided..
: ..I'm sure you can lank a flum because you would try that but
if you can't do it into the sprock or that the whole thing is
done in the context of inside the lorch.
: This seems to imply that you can actually lank the flum into the
sprock under these condittons.
: Yes, that's right...
: ..but if you do it won't work - it won't pottle very well.
: It might accomplish the problem but later it could fall apart..
: ..something will happen at night..
: Well, I'm ready for the next sentence....
Alright....
Human Use of World Knowledge Page 31
Robert M. Balzer
REFERANCES
1. AUTOMATIC PROGRAMMING, R. M. BALZER
Institute Technical Memorandum ISI/RR-1
USC INFORMATION SCIENCES INSTITUTE
September 1972